package com.ruoyi.lvlian.service;

import java.util.List;

import com.ruoyi.lvlian.domain.VehicleInfo;
import com.ruoyi.lvlian.dto.VehicleInfoDto;
import com.ruoyi.lvlian.vo.VehicleInfoVo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 车辆信息Service接口
 *
 * @author liyuxi
 * @date 2024-06-06
 */
public interface IVehicleInfoService {
    /**
     * 查询车辆信息
     *
     * @param id 车辆信息主键
     * @return 车辆信息
     */
    public VehicleInfo selectVehicleInfoById(String id);

    /**
     * 查询车辆信息列表
     *
     * @param vehicleInfo 车辆信息
     * @return 车辆信息集合
     */
    public List<VehicleInfoVo> selectVehicleInfoList(VehicleInfoDto vehicleInfo);

    /**
     * 新增车辆信息
     *
     * @param vehicleInfo 车辆信息
     * @return 结果
     */
    public int insertVehicleInfo(VehicleInfo vehicleInfo);

    /**
     * 修改车辆信息
     *
     * @param vehicleInfo 车辆信息
     * @return 结果
     */
    public int updateVehicleInfo(VehicleInfo vehicleInfo);

    /**
     * 批量删除车辆信息
     *
     * @param ids 需要删除的车辆信息主键集合
     * @return 结果
     */
    public int deleteVehicleInfoByIds(String[] ids);

    /**
     * 删除车辆信息信息
     *
     * @param id 车辆信息主键
     * @return 结果
     */
    public int deleteVehicleInfoById(String id);

    int queryVehicleCountByDriverPhone(String driverPhone);

    List<VehicleInfo> queryVehicleListByDriverPhoneOrId(String driverPhoneOrId);

    List<VehicleInfo> importInfo(MultipartFile file, String sheetName, int rowNum) throws Exception;

    int bachSave(List<VehicleInfo> dtoList);

    List<VehicleInfo> queryVehicleListByDriverPhoneOrIdEffective(String driverPhoneOrId);
}
